openwrt/staging/pepe2k.git
2 days agoopenwrt-keyring: apk: use just snapshot key explicitly main master
Petr Štetiar [Mon, 4 Nov 2024 09:04:04 +0000 (09:04 +0000)]
openwrt-keyring: apk: use just snapshot key explicitly

Currently we're going to ship all the apk keys in the keyring, but the
preference is to ship and use single release/branch specific key so lets
use openwrt-snapshots.pem for apk explicitly as well.

Fixes: 2cea05002489 ("openwrt-keyring: add apk public key for signing of package indexes")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/16852
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoRevert "openwrt-keyring: fix missing 24.10 usign key by installing it"
Petr Štetiar [Mon, 4 Nov 2024 09:02:19 +0000 (09:02 +0000)]
Revert "openwrt-keyring: fix missing 24.10 usign key by installing it"

This reverts commit 37784c48e93c663dafc99454c24bebf4e258556f as the
preference is to have single explicit key for each release/branch.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/16852
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoqualcommax: ipq60xx: remove source-only flag
Robert Marko [Sun, 24 Nov 2024 22:50:22 +0000 (23:50 +0100)]
qualcommax: ipq60xx: remove source-only flag

Its been a while since we added ipq60xx as source-only, it is now
quite usable so lets remove the source-only flag to start building
official images.

I also plan to merge additional popular boards rather soon.

Link: https://github.com/openwrt/openwrt/pull/17065
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agokernel: enable pressure interface
John Audia [Sun, 29 Oct 2023 08:32:21 +0000 (04:32 -0400)]
kernel: enable pressure interface

PSI provides a canonical way to see resource pressure increases as
they develop, with pressure metrics for three major resources:
memory, CPU, and IO. PSI stats are like barometers that provide
fair warning of impending resource shortages, enabling users to
take more proactive, granular, and nuanced steps when resources
start becoming scarce.

References:
* https://www.kernel.org/doc/html/latest/accounting/psi.html
* https://lwn.net/Articles/759781/

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/13819
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agomediatek: Routerich AX3000: add OpenWrt U-Boot layout
Mikhail Zhilkin [Sat, 26 Oct 2024 09:37:14 +0000 (09:37 +0000)]
mediatek: Routerich AX3000: add OpenWrt U-Boot layout

This commit adds OpenWrt U-Boot layout support for Routerich AX3000. The
aims:
1. Get open-source U-Boot;
2. Get maximum available free space in OpenWrt.

Install
-------
1. Copy OpenWrt ubootmod-bl31-uboot.fip, ubootmod-preloader.bin, to the
   /tmp folder of the router using scp.

2. Make mtd partitions backups:
   http://192.168.1.1/cgi-bin/luci/admin/system/flash -> Save mtdblock
   contents

3. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

4. Write FIP and preloader:
```
insmod mtd-rw i_want_a_brick=1
mtd unlock BL2
mtd erase BL2
mtd write /tmp/ubootmod-preloader.bin BL2
mtd unlock FIP
mtd erase FIP
mtd write /tmp/ubootmod-bl31-uboot.fip FIP
```

5. Copy OpenWrt ubootmod-initramfs-recovery.itb to the tftp server root
   with IP 192.168.1.254.

6. Reboot router:
```
reboot
```
U-Boot will automatically download from the tftp server and boot OpenWrt
initramfs system.

7. Copy OpenWrt ubootmod-squashfs-sysupgrade.itb to the /tmp dir of the
   router using scp.

8. Run sysupgrade:
```
sysupgrade -n /tmp/squashfs-sysupgrade.itb
```

Recovery
--------
1. Place OpenWrt initramfs-recovery.itb image (with original name) on the
   tftp server (IP: 192.168.1.254).
2. Press "reset" button and power on the router. After ~10 sec release the
   button.
3. Use OpenWrt initramfs system for recovery.

BL2 and FIP recovery
--------------------
Use mtk_uartboot and UART connection if BL2 or FIP in UBI is destroyed:
Link: https://github.com/981213/mtk_uartboot
Return to stock:
----------------
1. Copy partition backups (BL2.bin and FIP.bin) to the /tmp dir of the
   router using scp.

2. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

3. Restore stock U-Boot and reboot:
```
insmod mtd-rw i_want_a_brick=1
mtd unlock BL2
mtd erase BL2
mtd write /tmp/BL2.bin BL2
mtd unlock FIP
mtd erase FIP
mtd write /tmp/FIP.bin FIP
reboot
```

4. Open U-Boot web recovery, upload stock firmware image and start
   upgrade.
Link: http://192.168.1.1
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agouboot-mediatek: add Routerich AX3000 support
Mikhail Zhilkin [Sat, 26 Oct 2024 09:34:43 +0000 (09:34 +0000)]
uboot-mediatek: add Routerich AX3000 support

Add U-Boot replacement loader for Routerich AX3000.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoramips: dna_valokuitu-plus-ex400: clean-up image creation
Mauri Sandberg [Mon, 28 Oct 2024 20:13:04 +0000 (22:13 +0200)]
ramips: dna_valokuitu-plus-ex400: clean-up image creation

Code cleanup. Simplify and unify how kernel image is passed to
Build/dna-bootfs

Signed-off-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Link: https://github.com/openwrt/openwrt/pull/16811
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoramips: mt76x8: disable unused Ralink systick driver
Shiji Yang [Sun, 3 Nov 2024 04:30:21 +0000 (12:30 +0800)]
ramips: mt76x8: disable unused Ralink systick driver

The mt76x8 series SoCs use the MIPS generic systick timer. Sync the
upstream Ralink systick driver changes and disable it for mt76x8
target to reduce the kernel size.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16844
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agokernel: usb: kmod-usb-audio: Fix dependency
Hauke Mehrtens [Sun, 24 Nov 2024 13:57:19 +0000 (14:57 +0100)]
kernel: usb: kmod-usb-audio: Fix dependency

Change the dependency on the kmod-media-controller from depends to
select.

Fixes: 109592524663 ("kernel: add kmod-media-controller dependency for kmod-usb-audio")
Link: https://github.com/openwrt/openwrt/pull/17058
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agostm32: Remove unnecessary kernel options
Hauke Mehrtens [Sun, 24 Nov 2024 13:53:47 +0000 (14:53 +0100)]
stm32: Remove unnecessary kernel options

These options are filtered out since some weeks, remove them also from
the new stm32 target.

Fixes: 851e7f77e424 ("stm32: add new stm32 target")
Link: https://github.com/openwrt/openwrt/pull/17058
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoCI: labeler: Add stm32 target
Hauke Mehrtens [Sun, 24 Nov 2024 13:52:22 +0000 (14:52 +0100)]
CI: labeler: Add stm32 target

Add a label for changes in the stm32 target.

Fixes: 851e7f77e424 ("stm32: add new stm32 target")
Link: https://github.com/openwrt/openwrt/pull/17058
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agodropbear: bump to 2024.86
Hauke Mehrtens [Sat, 23 Nov 2024 21:32:03 +0000 (22:32 +0100)]
dropbear: bump to 2024.86

- update dropbear to latest stable 2024.86;
  for the changes see https://matt.ucc.asn.au/dropbear/CHANGES

Link: https://github.com/openwrt/openwrt/pull/17053
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agox86: Deactivate kernel options with extra overhead
Hauke Mehrtens [Sun, 24 Nov 2024 13:39:57 +0000 (14:39 +0100)]
x86: Deactivate kernel options with extra overhead

Deactivate CONFIG_CONTEXT_TRACKING_USER_FORCE: Force user context
tracking: This is a testing feature which should not be activate in
production environments according to the Kconfig help. It adds an extra
overhead.

Deactivate CONFIG_RCU_NOCB_CPU_DEFAULT_ALL: Offload RCU callback
processing from all CPUs by default: This option should only be used in
aggressive HPC or real-time workloads which we do not have in OpenWrt.
For normal workloads it increases the number of context switches.

In the default Arch Linux kernel both options are not activated.

Fixes: 31111680f6fc ("x86: switch config to a tickless kernel")
Link: https://github.com/openwrt/openwrt/pull/17057
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoconfig: dont select procd-seccomp via USE_SECCOMP
Robert Marko [Sat, 23 Nov 2024 13:46:29 +0000 (14:46 +0100)]
config: dont select procd-seccomp via USE_SECCOMP

base-files is including procd-secccomp as a dependency when USE_SECCOMP
is selected, so there is no point in selecting the package directly here
as well.

Link: https://github.com/openwrt/openwrt/pull/17048
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoconfig: rename SECCOMP to USE_SECCOMP
Robert Marko [Sat, 23 Nov 2024 13:29:49 +0000 (14:29 +0100)]
config: rename SECCOMP to USE_SECCOMP

It seems that we have some kind of a symbol name conflict which causes
CONFIG_SECCOMP to always be read as y.

Unfortunatelly, I could not figure out what is causing this, but simply
renaming SECCOMP to USE_SECCOMP seems to properly work and leaves the
symbol unset unless arch dependencies are satisfied.

This fixes qoriq and others that dont support seccomp from failing due
to procd-seccomp package being selected to get included but it cannot be
built for them:
ERROR: unable to select packages:
  procd-seccomp (no such package):
    required by: base-files-1637~52b6c92479[procd-seccomp]

Fixes: 4c65359af49b ("build: fix including busybox, procd and apk/opkg in imagebuilder")
Link: https://github.com/openwrt/openwrt/pull/17048
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agomediatek: filogic: add support for Cudy WR3000S v1
David Ignjic [Wed, 13 Nov 2024 10:20:27 +0000 (11:20 +0100)]
mediatek: filogic: add support for Cudy WR3000S v1

Hardware
--------
MediaTek MT7981 WiSoC
256MB DDR3 RAM
128MB SPI-NAND (XMC XM25QH128C)
MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5)
UART: 115200 8N1 3.3V

MAC:
LAN MAC: label mac
WAN MAC: label mac + 1
2.4G MAC: label mac
5G MAC: label mac + 1 with LA bit set

Installation
------------

1. Connect to the serial port as described in the "Hardware" section.

2. Power on the device + press reset pin. Keep pressing reset pin to enter the U-Boot  shell.

3. Download the OpenWrt initramfs image. Place it on an TFTP server
   connected to the Cudy LAN ports. Make sure the server is reachable at
   192.168.1.88. Rename the image to "cudy3000s.bin"

4. Download and boot the OpenWrt initramfs image.

   $ tftpboot 0x46000000 cudy3000s.bin; bootm 0x46000000

5. Transfer the OpenWrt sysupgrade image to the device using scp.
   Install with sysupgrade.

Signed-off-by: David Ignjic <ignjic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16939
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agomediatek: fix Cudy AP3000 Outdoor label-mac
David Bauer [Sat, 23 Nov 2024 19:00:57 +0000 (20:00 +0100)]
mediatek: fix Cudy AP3000 Outdoor label-mac

The label-mac does not match the one assigned to the ethernet interface.
Use the mac-address assigned to the wifi interface instead, as it
matches the one found on the device label.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 days agomediatek: add support for Acer Predator W6d and Acer Vero W6m
George Oldfort [Mon, 11 Nov 2024 10:18:19 +0000 (11:18 +0100)]
mediatek: add support for Acer Predator W6d and Acer Vero W6m

This commit adds support for two variants of the already supported router
Acer Predator Connect W6: The Acer Predator Connect W6d (W6 without 6 GHz
wifi) and the Acer Connect Vero W6m (W6 without 2.5G eth1 port, usb3 port,
and the 6 on-board gpio RGB LEDs, and with a KTD2026 RGB LED controller
instead of the KTD2061 LED controller of the W6/W6d).

The device tree for the W6m refers to the KTD202x driver suggested in
PR #16860.

Patching target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
removes the code repetition in (old) lines 121 to 124 on the occasion.

This is the last of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agomediatek: improve device tree for Acer Predator Connect W6
George Oldfort [Mon, 11 Nov 2024 09:40:45 +0000 (10:40 +0100)]
mediatek: improve device tree for Acer Predator Connect W6

In order to prepare for OpenWrt support other Acer W6 devices and to get
a step further to full hardware support for Acer Predator Connect W6, this
commit
- adjusts the product name ("Acer Predator Connect W6")
- updates gpio LED labels to function/color scheme
- show router status by using first rgb led instead of it's red color only
  (blue: booting/failsafe mode; red: sysupgrade; green: running – was: red)
- changes switch/eth1 led configuration to reflect RX/TX activity and speed
  (green: full 1Gbps/2.5Gbps speed; amber: lower speed; blink: RX/TX)
- shortens dummy dm-mod.create string in bootargs
- enables W6's i2c interface

This is the third of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agomediatek: make use of Acer Predator Connect W6's u-boot environment
George Oldfort [Mon, 11 Nov 2024 09:14:55 +0000 (10:14 +0100)]
mediatek: make use of Acer Predator Connect W6's u-boot environment

In order to prepare OpenWrt support for other Acer W6 devices and to adapt
the procedure to read and set mac addresses which other devices of the same
target are using (instead of needing an additional script and creating an
additional structure in the file system), this commit
- reads device mac addresses from u-boot environment
- avoids the detour via the file system to set the mac addresses
- drops redundant file /lib/preinit/05_extract_factory_data.sh

The idea and the implementation were thankfully taken from PR #16410.

This is the second of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agomediatek: split Acer/W6 dts into W6 common dtsi and device specific dts
George Oldfort [Mon, 11 Nov 2024 08:25:56 +0000 (09:25 +0100)]
mediatek: split Acer/W6 dts into W6 common dtsi and device specific dts

In order to prepare OpenWrt support for other Acer W6 devices, this commit
moves all device tree components that are used by all Acer W6/W6e/W6d/W6m
routers from mt7986a-acer-predator-w6.dts to mt7986a-acer-w6-common.dtsi
(new file) and includes this dtsi file in mt7986a-acer-predator-w6.dts.

Minor changes had to be made to the device tree in order to improve clarity
and – notably – to reduce the number of dtc warnings:
- replace (obviously wrong) led@<N> gpio led entities by led-<N>
- remove unnecessary (default-state = "off") gpio led statements
- rename entity “memory” to “memory@0”
- add missing #address-cells and #address-size in /soc/mmc@11230000
- add missing #address-cells and #address-size in /soc/pcie@11280000
- introduce symbols “nvmem” and “swport0” in dtsi (referenced in dts)

The changes were checked with `diff -BEZbdtwy --suppress-common-lines ...`
(comparing two dts files created using old and new fdt-1 blobs again), see
https://github.com/openwrt/openwrt/pull/16861/#issuecomment-2455680020 .

This is the first of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agolinux-firmware: Add support for Intel AX411
Joerg Bayer [Sat, 13 Apr 2024 14:05:24 +0000 (16:05 +0200)]
linux-firmware: Add support for Intel AX411

Add support for Intel AX411 CNVio2 device.

Signed-off-by: Joerg Bayer <sg-o@live.de>
Link: https://github.com/openwrt/openwrt/pull/15153
[squashed and updated commit description, update to version 89]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoath79: add support for TP-Link CPE710-v2
Tim Noack [Mon, 21 Oct 2024 12:21:59 +0000 (12:21 +0000)]
ath79: add support for TP-Link CPE710-v2

TP-Link CPE710-v2 is an outdoor wireless CPE for 5 GHz with one Ethernet
port based on the AP152 reference board. Compared to the CPE710-v1, the
only change observed in hardware is that the mdio address of the ethernet
physical changed from 0x4 to 0x0.

Specifications:
- SoC: QCA9563-AL3A MIPS 74kc @ 775MHz, AHB @ 258MHz
- RAM: 128MiB DDR2 @ 650MHz
- Flash: 16MiB SPI NOR Based on the GD25Q128
- Wi-Fi 5Ghz: ath10k chip (802.11ac for up to 867Mbps on 5GHz wireless
  data rate), based on the QCA9896
- Ethernet: one 1GbE port
- 23dBi high-gain directional 2×2 MIMO parabolic antenna
- Power, LAN, WLAN5G Blue LEDs

Flashing instructions:
Flash factory image through stock firmware WEB UI or through TFTP
To get to TFTP recovery just hold reset button while powering on for around
30-40 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254

Signed-off-by: Tim Noack <tim@noack.id>
Link: https://github.com/openwrt/openwrt/pull/16637
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoath79: refactor dts of TP-Link CPE710-v1
Tim Noack [Mon, 21 Oct 2024 12:21:41 +0000 (12:21 +0000)]
ath79: refactor dts of TP-Link CPE710-v1

This is done in preparation of adding support for the CPE710-v2,
which uses a similiar device tree.

Signed-off-by: Tim Noack <tim@noack.id>
Link: https://github.com/openwrt/openwrt/pull/16637
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoramips: mt76x8: Add support for Zbtlink ZBT-WE2426-B
Vaclav Svoboda [Mon, 11 Nov 2024 21:34:00 +0000 (22:34 +0100)]
ramips: mt76x8: Add support for Zbtlink ZBT-WE2426-B

The Zbtlink ZBT-WE2426-B is an indoor dual band WiFi router
with 4 external non detachable antennas and 5 Fast Ethernet ports.

Hardware of ZBT-WE2426-B:
- SoC: MT7628AN
- RAM: 64 MB (Winbond W9751G6K8-25)
- Storage: 8 MB SPI flash (S25FL064K)
- Ethernet: 5x 10/100 Mbps LAN1,LAN2,LAN3,LAN4 & WAN
- Wireless: 2.4GHz: on SoC (802.11b/g/n)
- Wireless: 5GHz: Mediatek MT7612EN (802.11n/ac)
- LEDs: 8x
- Buttons: 1x reset
- USB: 1x 2.0
- MicroSD slot: 1x
- Power: 9 VDC, 1 A
- Uart: GND TX RX PWR - J1 on the PCB
- Board silkscreen: "ZBT-WE2426-C V04" "2018-02-28" "CTT" "13 18"

Backup the stock firmware, settings and calibration data:
This router comes with PandoraBox OpenWrt firmware, so it is
possible to get all MTD partitions using scp.

Installation:
- Using the bootloader web server. Hold the reset button while turning
  the power on. Upload the sysupgrade image on http://192.168.1.1.
- Using the sysupgrade command in PandoraBox OpenWrt.

LEDs:
- LAN1,LAN2,LAN3,LAN4,WAN,WLAN2G use GPIO pins of the MT7628AN SoC
  (GPIOs 43,42,41,40,39,44)
- WLAN5G uses pin of MT7612EN.
- The POWER LED is directly connected to the VCC. It can be reconnected to
  the GPIO 37 of the MT7628AN SoC by resoldering SMD resistor on the PCB.

Buttons:
- The RESET button is connected to the GPIO 38 of the MT7628AN SoC.

MAC addresses as verified by OEM firmware:
use   address   source
2g    *:b0      factory 0x4 (label)
5g    *:b1      factory 0x8004
LAN   *:b2      factory 0x28
WAN   *:b3      factory 0x2e

Signed-off-by: Vaclav Svoboda <svoboda@neng.cz>
Link: https://github.com/openwrt/openwrt/pull/16927
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agomvebu: devm for mutex_init
Rosen Penev [Sat, 19 Oct 2024 02:19:50 +0000 (19:19 -0700)]
mvebu: devm for mutex_init

It's common to avoid calling mutex_destroy when done. It's not correct
strictly speaking.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16753
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agomxs: run kernel_oldconfig
Rosen Penev [Wed, 23 Oct 2024 00:07:44 +0000 (17:07 -0700)]
mxs: run kernel_oldconfig

small change.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16913
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: modules: appletalk: add for Netatalk v4
Antonio Pastor [Sat, 16 Nov 2024 20:09:49 +0000 (15:09 -0500)]
kernel: modules: appletalk: add for Netatalk v4

Netatalk v4 reintroduces AppleTalk and this module is required for
layer 3 protocol support.

Module was removed in kernel 4.14 for OpenWrt 18.06 (commmit
14a0131, 22/02/2018). At the time nothing used it as Netatalk v3
did not support AppleTalk.

Not building ipddp feature/module like it was in the past, as
recommended by upstream Netatalk maintainers.

Signed-off-by: Antonio Pastor <antonio.pastor@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16979
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agostm32: add new stm32 target
Thomas Richard [Thu, 26 Sep 2024 14:55:22 +0000 (16:55 +0200)]
stm32: add new stm32 target

New stm32 target introduces support for stm32mp1 based devices.
For now it includes an initial support of the STM32MP135F-DK device.
The specifications bellow only list supported features.

Specifications
--------------

SOC: STM32MP135FAF7
RAM: 512 MiB
Storage: SD Card
Ethernet: 2x 100 Mbps
Wireless: 2.4GHz Cypress CYW43455 (802.11b/g/n)
LEDs: Heartbeat (Blue)
Buttons: 1x Reset, 1x User (USER2)
USB: 4x 2.0 Type-A

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: package v4l2-async and v4l2-fwnode drivers
Thomas Richard [Tue, 5 Nov 2024 10:13:34 +0000 (11:13 +0100)]
kernel: package v4l2-async and v4l2-fwnode drivers

These packages are needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: add kmod-media-controller dependency for kmod-usb-audio
Thomas Richard [Tue, 5 Nov 2024 10:23:36 +0000 (11:23 +0100)]
kernel: add kmod-media-controller dependency for kmod-usb-audio

The snd-usb-audio drivers uses media controller if media controller is set.
So add kmod-media-controller as dependency.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: package media controller driver
Thomas Richard [Tue, 5 Nov 2024 10:10:44 +0000 (11:10 +0100)]
kernel: package media controller driver

It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: package industrialio-buffer-cb driver
Thomas Richard [Tue, 5 Nov 2024 09:39:47 +0000 (10:39 +0100)]
kernel: package industrialio-buffer-cb driver

It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: package crypto_engine driver
Thomas Richard [Tue, 5 Nov 2024 09:38:49 +0000 (10:38 +0100)]
kernel: package crypto_engine driver

It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: unset CONFIG_DEVFREQ_THERMAL in kmod-thermal package
Thomas Richard [Fri, 25 Oct 2024 13:23:26 +0000 (15:23 +0200)]
kernel: unset CONFIG_DEVFREQ_THERMAL in kmod-thermal package

It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: package snd-soc-dmic driver
Thomas Richard [Fri, 25 Oct 2024 13:21:57 +0000 (15:21 +0200)]
kernel: package snd-soc-dmic driver

It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: package industrialio-hw-consumer driver
Thomas Richard [Fri, 25 Oct 2024 13:20:38 +0000 (15:20 +0200)]
kernel: package industrialio-hw-consumer driver

It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agomurata-nvram: add new package
Thomas Richard [Thu, 10 Oct 2024 15:21:16 +0000 (17:21 +0200)]
murata-nvram: add new package

This package contains nvram files for Murata's Wi-Fi/Bluetooth modules.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agomurata-firmware: add new package
Thomas Richard [Thu, 10 Oct 2024 15:19:38 +0000 (17:19 +0200)]
murata-firmware: add new package

This package contains firmwares provided by Murata.
See https://community.murata.com/.

Murata firmwares are used by wifi chip on stm32 boards.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agomac80211: enable CONFIG_BRCMFMAC_SDIO for stm32
Thomas Richard [Tue, 24 Sep 2024 16:06:28 +0000 (18:06 +0200)]
mac80211: enable CONFIG_BRCMFMAC_SDIO for stm32

All stm32 devices use BCM43430 Wi-Fi interface in SDIO mode.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agoarm-trusted-firmware-stm32: add ATF for stm32 boards
Thomas Richard [Thu, 26 Sep 2024 14:29:41 +0000 (16:29 +0200)]
arm-trusted-firmware-stm32: add ATF for stm32 boards

Add ATF for stm32 boards, with the first being STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agouboot-stm32: add U-Boot for stm32 boards
Thomas Richard [Thu, 26 Sep 2024 14:24:26 +0000 (16:24 +0200)]
uboot-stm32: add U-Boot for stm32 boards

Add U-Boot for stm32 boards, with the first being STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agooptee-os-stm32: add OP-TEE for stm32 boards
Thomas Richard [Thu, 26 Sep 2024 14:19:35 +0000 (16:19 +0200)]
optee-os-stm32: add OP-TEE for stm32 boards

Add OP-TEE for stm32 boards, with the first being STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agobuild: add generic build template for optee-os packages
Thomas Richard [Thu, 26 Sep 2024 14:10:26 +0000 (16:10 +0200)]
build: add generic build template for optee-os packages

Add a generic template include/optee-os.mk to build OP-TEE.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agomediatek: change Routerich AX3000 ubi size
Romanov Danila [Mon, 21 Oct 2024 18:34:34 +0000 (21:34 +0300)]
mediatek: change Routerich AX3000 ubi size
All new routers are shipped with ubi size 112MB since early September.
Bootloader update required (ask vendor , see wiki)

These partitions weren't used:
firmware_backup
zrsave
config2

Signed-off-by: Romanov Danila <pervokur@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16686
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agox86: add all ports to the Gowin 1U default network config
Til Kaiser [Fri, 15 Nov 2024 15:49:14 +0000 (16:49 +0100)]
x86: add all ports to the Gowin 1U default network config

Commit e52c57bb1b30375e0bcc5523db76a672a4a8b4a4 renamed all
network ports to match the faceplate of the Gowin 1U Rack
Mount Server and added the br-lan bridge for the eth* ports.

This commit adds the PoE port to the br-lan bridge and a
br-wan bridge for the two SFP ports so that all ports are
part of the default network configuration.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agoramips: sync upstream Ralink clock patches
Shiji Yang [Fri, 22 Nov 2024 10:12:12 +0000 (18:12 +0800)]
ramips: sync upstream Ralink clock patches

1. Add sdhc clock for MT7620 and MT76x8 SoCs.
2. Fix clock driver warning for RT2880, RT305x and RT3883.

Link: https://lore.kernel.org/all/20240910044024.120009-1-sergio.paracuellos@gmail.com/
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17037
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: bump 6.6 to 6.6.63
John Audia [Fri, 22 Nov 2024 15:53:37 +0000 (10:53 -0500)]
kernel: bump 6.6 to 6.6.63

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.63

Manually rebased:
bcm27xx/patches-6.6/950-0297-staging-vchiq_arm-Add-36-bit-address-support.patch

All other patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16997
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: bump 6.6 to 6.6.62
John Audia [Sun, 17 Nov 2024 19:33:47 +0000 (14:33 -0500)]
kernel: bump 6.6 to 6.6.62

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.62

All patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16997
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agowifi-scripts: Fix parsing of Capabilities
Hauke Mehrtens [Fri, 22 Nov 2024 23:34:30 +0000 (00:34 +0100)]
wifi-scripts: Fix parsing of Capabilities

Fixup capabilities parsing in iw output.

In addition to the normal capabilities iw now also outputs HE MAC, HE
PHY and EHT MAC and EHT PHY capabilities. Exclude them in the parsing.

The grep returns this with mac80211-hwsim:
```
root@OpenWrt:~# iw phy phy0 info | grep 'Capabilities:'
Capabilities: 0x107e
HE PHY Capabilities: (0x02bfce0000000000000000):
EHT PHY Capabilities: (0x7c0000feffff7f01):
HE PHY Capabilities: (0x02bfce0000000000000000):
EHT PHY Capabilities: (0x7c0000feffff7f01):
HE PHY Capabilities: (0x02bf000000000000000000):
Capabilities: 0x107e
HE PHY Capabilities: (0x1cbfce0000000000000000):
EHT PHY Capabilities: (0xfc1f3ffeffff7f37):
HE PHY Capabilities: (0x1cbfce0000000000000000):
EHT PHY Capabilities: (0xfc1f3ffeffff7f37):
HE PHY Capabilities: (0x1cbf000000000000000000):
HE PHY Capabilities: (0x1cbfce0000000000000000):
EHT PHY Capabilities: (0xfefffffeffffff7f):
HE PHY Capabilities: (0x1cbfce0000000000000000):
EHT PHY Capabilities: (0xfefffffeffffff7f):
HE PHY Capabilities: (0x1cbf000000000000000000):
Capabilities: 0x107e
```

With busybox 1.36.1 the ht_cap_mask variable will be set to
-72057598332895361. With busybox 1.37.0 it will be set to -1.
Both values are wrong, after this change it will be set to 4222
(0x107E).

Link: https://github.com/openwrt/openwrt/pull/17043
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agoRevert "mediatek: fix pwn fan settings for sinovoip bpi-r3"
Robert Marko [Thu, 21 Nov 2024 21:04:41 +0000 (22:04 +0100)]
Revert "mediatek: fix pwn fan settings for sinovoip bpi-r3"

This reverts commit 3467ea905b40f0df87700a15b716b1f5a4efc955.

I merged it by accident.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agomediatek: fix pwn fan settings for sinovoip bpi-r3
Mikhail Kshevetskiy [Fri, 15 Nov 2024 00:17:07 +0000 (03:17 +0300)]
mediatek: fix pwn fan settings for sinovoip bpi-r3

Popular bpi-r3 pwm fans like this one

  https://www.amazon.com/youyeetoo-Barebone-Fan-BPI-R3-Integrated/dp/B0CCCTY8PS

will not work properly with current openwrt-23.05/24.10 firmware.
Trying different pwm setting

  echo $value > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1

I found:

  pwm1 value     fan rotation speed   cpu temperature     notes
  -----------------------------------------------------------------
    0            maximal              31.5 Celsius        too noisy
   40            optimal              35.2 Celsius        no noise hearable
   95            minimal
   above 95      does not rotate      55.5 Celsius
  -----------------------------------------------------------------

At the moment we have following cooling levels:

  cooling-levels = <255 96 0>;

for cpu-active-high, cpu-active-medium and cpu-active-low modes correspondingly.
Thus only cpu-active-high and cpu-active-low are usable. I think this is wrong.

This patch fixes cpu-active-medium settings for bpi-r3 board.

PS: I know, the patch is not ideal as it can break pwm fan for some users.
    There are some peoples that use handmade cooling solutions, but:
      * discussed cooler is the only 'official' pwm cooler for bpi-r3
        available on the market.
      * most peoples will use passive cooling available on the market or
        the discussed cooler.
      * the pwm-fan dts section was added before the official cooler
        appears on the market.
    Thus it should not be a lot of harm from this fix.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16974
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agobuild: fix filtering of non-upgradable packages
Eric Fahlgren [Thu, 21 Nov 2024 13:50:21 +0000 (05:50 -0800)]
build: fix filtering of non-upgradable packages

Add anchor to name search so that we don't inadvertently filter out
packages containing, say, "kernel-" as part of their name.

Fixes: openwrt/packages#25372
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17032
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agoinclude/package-pack: add support for postrm with APK
Robert Marko [Thu, 21 Nov 2024 13:34:03 +0000 (14:34 +0100)]
include/package-pack: add support for postrm with APK

Currently, postrm scripts are not being executed when package is removed
with APK since they are not being included at all.

So, lets use APK-s support for post-deinstall scripts and ship our postrm
scripts if packages define them.

Fixes: d788ab376f85 ("build: add APK package build capabilities")
Link: https://github.com/openwrt/openwrt/pull/17023
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agoinclude/package-pack: actually call default_postinist/prerm when using APK
Robert Marko [Wed, 20 Nov 2024 12:51:53 +0000 (13:51 +0100)]
include/package-pack: actually call default_postinist/prerm when using APK

Currently, when you install a package that ships uci-defaults scripts they
are not getting executed during package installation.

For example, if you install a new LuCI theme it ships a uci-defaults script
to add it to the UCI LuCI config so the theme is actually selectable but
that does not happen until the device is rebooted so that uci-defaults
script is actually executed.

It turns out that the recipe for post-install is the issue since it will
include contents of postinst-pkg before the call to default_postinist.
This is an issue since postinst-pkg will exit with code 0 before we ever
reach the call to default_postinist.

So, lets simply make the call to default_postinist before postinst-pkg
inclusion which is what OPKG based installation does.

The same issue affects pre-deinstall script but its not actually being hit
since we dont seem to be actually even generating prerm-pkg scripts but
lets fix this theoretical issue as well.

Fixes: #16987
Fixes: d788ab376f85 ("build: add APK package build capabilities")
Link: https://github.com/openwrt/openwrt/pull/17023
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agoimagebuilder: fix OPKG package_whatdepends support
Robert Marko [Tue, 19 Nov 2024 22:56:19 +0000 (23:56 +0100)]
imagebuilder: fix OPKG package_whatdepends support

Trying to use 'package_whatdepends' feature of the ImageBuilder with OPKG
will currently fail as OPKG does not support "list --depends" call at all,
it seems that this is a mixup from the original APK support commit.

So, lets restore 'package_whatdepends' support for OPKG by calling
"whatdepends -A" instead as we used to before APK support.

Fixes: d788ab376f85 ("build: add APK package build capabilities")
Link: https://github.com/openwrt/openwrt/pull/17022
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agoimagebuilder: fix APK package_depends support
Robert Marko [Tue, 19 Nov 2024 22:38:02 +0000 (23:38 +0100)]
imagebuilder: fix APK package_depends support

Currently trying to use the 'package_depends' feature of ImageBuilder will
result in it trying to call OPKG:
make package_depends PACKAGE="usbutils"
OK: 26 MiB in 142 packages
bash: line 1: openwrt-imagebuilder-qualcommax-ipq807x.Linux-x86_64/staging_dir/host/bin/opkg: No such file or directory
make: *** [Makefile:363: package_depends] Error 127

It looks like a copy/paste error when APK support was being added, so lets
fix it by calling APK and its "info --depends" command.

Fixes: #16996
Fixes: d788ab376f85 ("build: add APK package build capabilities")
Link: https://github.com/openwrt/openwrt/pull/17022
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agompc85xx: p2020: add missing symbols
Rosen Penev [Thu, 17 Oct 2024 23:14:07 +0000 (16:14 -0700)]
mpc85xx: p2020: add missing symbols

Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16847
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agompc85xx: p1020: add missing symbols
Rosen Penev [Thu, 17 Oct 2024 23:09:17 +0000 (16:09 -0700)]
mpc85xx: p1020: add missing symbols

Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16847
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agompc85xx: p1010: add missing symbols
Rosen Penev [Wed, 16 Oct 2024 22:42:56 +0000 (15:42 -0700)]
mpc85xx: p1010: add missing symbols

Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16847
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agompc85xx: run make kernel_oldconfig
Rosen Penev [Wed, 16 Oct 2024 22:17:14 +0000 (15:17 -0700)]
mpc85xx: run make kernel_oldconfig

Adjusts the default config to modern kernels.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16847
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agoapk: update to git e3464d096708b270138653ef93db59134bb24813 (2024-11-13)
Robert Marko [Tue, 19 Nov 2024 12:48:06 +0000 (13:48 +0100)]
apk: update to git e3464d096708b270138653ef93db59134bb24813 (2024-11-13)

Allows us to drop the description backport.

Changes:
e3464d0 db: make repository description an atom instead of allocation
417a93c pkg: truncate apkv3 description to 256 bytes
d26b65d db, audit: remove support for files without embedded checksum
64ff8c7 db: allow files starting with a dot in the root directory of apk3 packages
89e4bf1 db, fs: do not extract devices in --usermode
4050f9e db: fix hardlink handling: root directory and v3 checksums
ade0be3 db, extract: handle file/directory extraction errors more consistently
a4837ae package: don't call make_device_tree when APK_NO_CHROOT is set
1e04115 package: respect libexecdir instead of hard-coding /usr/libexec
76970a9 package: move the location of executable package scripts
19b1df7 blob: refactor apk_blob_for_each_segment into apk_blob_foreach_word
e38d5b5 test: add missing alpine tests makefile
fcd4def test: move vertest to cmocka based unit testing infrastructure
8a13ed9 test: fix solver.sh for parallel use
5add6fc (tag: v3.0.0_pre4) apk-tools-3.0.0_pre4
5dd91e3 db: consider --force-no-chroot when determining /dev/fd availability
d86afde db: print message when a file is written to .apk-new
a5aeb3d test: unify makefile and meson tests
a236fdd pkg: use memfd_create only if target root has dev/fd working
563d364 tests: minor updates to root tests
08b4d21 tests: move solver test data to separate directory
c259642 tests: rework solver tests to not require apk-test binary
d2aaf13 commit: sort matched dependencies on error analysis
98d7196 db: fix permissions of arch file
b231eac db: simplify add_repos_from_file
2a3dbfc db: add and use apk_db_parse_file helper to parse files line by line
c1a3e69 db: validate package arch against compatible arches

Link: https://github.com/openwrt/openwrt/pull/17015
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agoimagebuilder: fix APK architecture setting
Robert Marko [Tue, 19 Nov 2024 13:36:17 +0000 (14:36 +0100)]
imagebuilder: fix APK architecture setting

Currently, when "apk add --initdb" is called it will populate the
/etc/apk/arch file with the architecture of the host instead of the target
package architecture and this will then make it impossible for new packages
to be installed on the device as the target architecture will not match
after APK is updated to include [1].

So, lets use override the architecture by passing the target package one
by using the "--arch" argument to "apk add".

[1] https://gitlab.alpinelinux.org/alpine/apk-tools/-/commit/c1a3e69f24e235fc78f4dddb1f85fdf281464446

Fixes: #16953
Link: https://github.com/openwrt/openwrt/pull/17015
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agoinclude/package-pack: translate PKGARCH for APK
Robert Marko [Tue, 19 Nov 2024 12:12:28 +0000 (13:12 +0100)]
include/package-pack: translate PKGARCH for APK

We have a lot of script-only packages that are universal for all arch-s
and those set PKGARCH:=all to indicate it.

Unfortunately, APK expects architecture to be set to "noarch" instead to
indicate that its universal so instead of having to update all packages
that set PKGARCH:=all and thus break OPKG lets simply translate "all" to
"noarch" when generating the APK package.

This will be required as soon we update APK to include [1] as it will start
enforcing package architecture checks.

[1] https://gitlab.alpinelinux.org/alpine/apk-tools/-/commit/c1a3e69f24e235fc78f4dddb1f85fdf281464446

Suggested-by: Jonas Gorski <jonas.gorski@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17015
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agoipq806x: tr4400v2: fix dtc warnings by deleting stock partitions
Rodrigo Balerdi [Thu, 14 Nov 2024 20:37:32 +0000 (17:37 -0300)]
ipq806x: tr4400v2: fix dtc warnings by deleting stock partitions

The original set of stock partitions was kept in the TR4400 v2 port,
with the same partition numbers but their names prefixed with 'stock_'.
This allowed scripts (installation, back to stock, etc) to run on both
stock and OpenWrt firmware. But this triggers warnings in the device
tree compiler, as partitions of the old and new schemes overlap.

This commit fixes the dtc warnings by deleting the stock partitions,
also renumbering some of the remaining MTD partitions in the process.
Additionally, the 'fw_env' partition is set to read-only.

These changes can break existing scripts as well as user configurations
that utilize the 'extra' partition. Users wanting to run old scripts can
do so by reverting to the 23.05 series releases.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16958
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agoinclude/package-pack: add default 'provider_priority' for APK packages
Robert Marko [Mon, 18 Nov 2024 18:55:57 +0000 (19:55 +0100)]
include/package-pack: add default 'provider_priority' for APK packages

Currently, trying to use APK to install a package that has a dependency on
a virtual package that needs to be resolved via 'provides' it will fail if
package does not have 'DEFAULT_VARIANT:=1' like:
apk add usbutils
ERROR: unable to select packages:
  libudev (virtual):
    note: please select one of the 'provided by' packages explicitly
    provided by: libudev-zero
    required by: usbutils-017-r1[libudev]

Issue is that we dont set 'provider_priority' that APK uses to break ties
when choosing a virtual package to satisfy a dependency and thus despite
only one package providing the dependency it will still end up with a tie
and just error out.

So, lets simply fix this by providing a default value for
'provider_priority' when 'DEFAULT_VARIANT' is not set and then APK will
be able to resolve dependencies.

Fixes: #16976
Link: https://github.com/openwrt/openwrt/pull/17008
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agoodhcp6c: update to Git HEAD (2024-09-25)
He Ping [Tue, 19 Nov 2024 02:41:42 +0000 (10:41 +0800)]
odhcp6c: update to Git HEAD (2024-09-25)

b6ae9ffaeb0e odhcp6c: allow to request specific ipv6 prefix

Signed-off-by: He Ping <pinghejk@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17013
Signed-off-by: Petr Štetiar <ynezz@true.cz> [hash, commit]
8 days agonet: phy: broadcom: update dependency condition
David Bauer [Sun, 17 Nov 2024 12:23:09 +0000 (13:23 +0100)]
net: phy: broadcom: update dependency condition

The broadcom PHY driver only has to depend upon PTP_1588_CLOCK_OPTIONAL
if NETWORK_PHY_TIMESTAMPING is enabled. The PTP functionality is stubbed
in this case.

Reflect this circumstance in the dependence condition. This allows to
build the driver as a built-in module even if PTP is built as a module.

This is required to include the broadcom PHY module regardless of the
built-setting of the PTP subsystem. On ath79 (and probably more)
targets with Broadcom PHY, Gigabit operation is currently broken as the
PHY driver is only built as a module in case all kernel-packages are
built. Due to this circumstance, affected devices fall back to using the
generic PHY driver.

Signed-off-by: David Bauer <mail@david-bauer.net>
8 days agoomnia-eeprom: depend only on subtarget
Robert Marko [Mon, 18 Nov 2024 16:15:54 +0000 (17:15 +0100)]
omnia-eeprom: depend only on subtarget

Now that omnia-eeprom is marked nonshared building the cortex-a9 mvebu
subtarget will fail with:
ERROR: unable to select packages:
  omnia-eeprom (no such package):
    required by: world[omnia-eeprom]

This is because omnia-eeprom depends on TARGET_mvebu_cortexa9_DEVICE_cznic_turris-omnia
which will not be satisfied in buildbots since CONFIG_TARGET_ALL_PROFILES
and CONFIG_TARGET_PER_DEVICE_ROOTFS are set in which case
CONFIG_TARGET_mvebu_cortexa9_DEVICE_cznic_turris-omnia is not set.

So, lets simply depend on the mvebu/cortex-a9 subtarget.

Fixes: 371e7bef4046 ("omnia-eeprom: Mark it nonshared")
Link: https://github.com/openwrt/openwrt/pull/17007
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agomtd-utils: add ubihealthd to nand-utils
Daniel Golle [Sat, 16 Nov 2024 15:29:24 +0000 (15:29 +0000)]
mtd-utils: add ubihealthd to nand-utils

Add ubihealthd to the nand-utils package, auto-create UCI config for
each UBI device and launch the daemon on boot.

The default time interval between scrubbing a random PED is 120 seconds
which means that a fully used 128 MiB flash chip gets scrubbed in about
a day and a half. The interval can be adjusted in UCI using the
'interval' option.

Suggested-by: Rodrigo Balerdi <lanchon@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://github.com/openwrt/openwrt/pull/16973
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 days agoairoha: an7581: sync patch with upstream version and tag them
Christian Marangi [Mon, 18 Nov 2024 14:01:07 +0000 (15:01 +0100)]
airoha: an7581: sync patch with upstream version and tag them

Sync patch with upstream version and tag them.
Minor changes done to Pinctrl patch to support older kernel.

Patch automatically refreshed with make target/linux/refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 days agomac80211: backport some upstream fixes
Felix Fietkau [Mon, 18 Nov 2024 10:21:02 +0000 (11:21 +0100)]
mac80211: backport some upstream fixes

Fix various issues, including potential crashes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 days agoimagebuilder: fix DEFAULT_PACKAGES handling
Petr Štetiar [Sun, 17 Nov 2024 19:19:36 +0000 (19:19 +0000)]
imagebuilder: fix DEFAULT_PACKAGES handling

DEFAULT_PACKAGES handling was moved in commit 40be892a020e
("imagebuilder: move handling of DEFAULT_PACKAGES into shareable place")
to `include/default-packages.mk`, but they weren't removed from
ImageBuilder's Makefile, so lets remove it now.

Once removed, I've noticed, that it stopped working as there is
target.mk included later in that file, overriding the DEFAULT_PACKAGES
again, so moved it after this target.mk include.

Fixes: 40be892a020e ("imagebuilder: move handling of DEFAULT_PACKAGES into shareable place")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
9 days agolinux: fix missing default packages in profiles.json
Petr Štetiar [Sun, 17 Nov 2024 05:15:13 +0000 (05:15 +0000)]
linux: fix missing default packages in profiles.json

Robert reported, that in firmware images generated by ASU, there is
`apk` package manager missing after the commit 44598c233dd9 ("build:
remove broken dependency of metadata on toplevel .config variables").

That is happening, because apk got removed from `default_packages` list in
`profiles.json`, which is being generated by `json_overview_image_info` Make
target, which uses `scripts/json_overview_image_info.py` helper script,
which gets the information from `DEFAULT_PACKAGES` Make variable.

So lets fix it by providing `DEFAULT_PACKAGES` variable when its needed.

The reason why we didn't added those packages as a dependency to
base-files like any other packages, was to allow disabling them (in
order to save space).

Fixes: #16969
Fixes: openwrt/asu/issues/1084
Fixes: 44598c233dd9 ("build: remove broken dependency of metadata on toplevel .config variables")
Reported-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/16986
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agoimagebuilder: move handling of DEFAULT_PACKAGES into shareable place
Petr Štetiar [Sun, 17 Nov 2024 05:13:27 +0000 (05:13 +0000)]
imagebuilder: move handling of DEFAULT_PACKAGES into shareable place

It seems, that handling of DEFAULT_PACKAGES is needed in more places, so
lets move it into dedicated include file so it can be easily shared.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/16986
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agotarget,base-files: unify handling of procd-ujail
Petr Štetiar [Sun, 17 Nov 2024 04:12:23 +0000 (04:12 +0000)]
target,base-files: unify handling of procd-ujail

Remove the remaining special handling of procd-ujail in a same way as
the rest of the packages was handled in the commit 4c65359af49b ("build:
fix including busybox, procd and apk/opkg in imagebuilder").

Fixes: 44598c233dd9 ("build: remove broken dependency of metadata on toplevel .config variables")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/16986
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agogeneric: add CONFIG_FB_INTEL
Robert Marko [Sun, 17 Nov 2024 18:22:25 +0000 (19:22 +0100)]
generic: add CONFIG_FB_INTEL

CONFIG_FB_INTEL is now visible on x86 since i915 driver is packaged as kmod
now and it stops compilation, so add it to the generic config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agoinclude/package-pack: escape package description for APK mkpkg
Christian Marangi [Sun, 17 Nov 2024 18:09:31 +0000 (19:09 +0100)]
include/package-pack: escape package description for APK mkpkg

Escape special char for package description for APK mkpkg as the
description is passed as an args to mkpkg with --info option and can
easily escape from the "".

Currently escaped char `, $, ", \.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
10 days agodropbear: use config_get_bool enable
Sergey Ponomarev [Mon, 27 May 2024 23:50:09 +0000 (02:50 +0300)]
dropbear: use config_get_bool enable

The config_get_bool also works with on/off, yes/no, true/false.
Add 'main' section name. This will make it easier to change settings from uci.
Add a link to documentation.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15579
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agoath79: lzma-loader: fix syntax error
Shiji Yang [Sun, 17 Nov 2024 11:30:35 +0000 (19:30 +0800)]
ath79: lzma-loader: fix syntax error

C compiler can't parse '#else if'.

Fixes: f84a9f7dc095 ("ath79: add support for Huawei AP6010DN")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16989
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agokernel: filter out compiler opts from config
Rosen Penev [Wed, 2 Oct 2024 22:25:35 +0000 (15:25 -0700)]
kernel: filter out compiler opts from config

These get dynamically set based on compiler version. Not relevant for
targets.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16770
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agokernel: remove GCC11_NO_ARRAY_BOUNDS
Rosen Penev [Sat, 16 Nov 2024 19:01:15 +0000 (11:01 -0800)]
kernel: remove GCC11_NO_ARRAY_BOUNDS

This symbol is no longer present.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16770
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agokernel: move CONFIG_INTEL_MEI settings to target generic
Mieczyslaw Nalewaj [Sat, 16 Nov 2024 16:26:52 +0000 (17:26 +0100)]
kernel: move CONFIG_INTEL_MEI settings to target generic

Move settings CONFIG_INTEL_MEI_GSC_PROXY, CONFIG_INTEL_MEI_HDCP
and CONFIG_INTEL_MEI_PXP to target generic.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16971
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoomnia-eeprom: Mark it nonshared
Hauke Mehrtens [Sat, 16 Nov 2024 17:38:42 +0000 (18:38 +0100)]
omnia-eeprom: Mark it nonshared

This tool was build in the phase 2 build, there the
TARGET_mvebu_cortexa9_DEVICE_cznic_turris-omnia dependecy was probably
not meat. Mark it as non shared to build it together with the target
where this option is set.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/16975
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agodebugcc: Mark it nonshared
Hauke Mehrtens [Sat, 16 Nov 2024 17:36:45 +0000 (18:36 +0100)]
debugcc: Mark it nonshared

This tool was build in the phase 2 build, there the TARGET dependencies
are probably not meat. Mark it as non shared to build it together with
the targets where this option is set.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/16975
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agokernel: disable drm-i915 module for x86/geode
Mieczyslaw Nalewaj [Sun, 17 Nov 2024 07:40:44 +0000 (08:40 +0100)]
kernel: disable drm-i915 module for x86/geode

Disable drm-i915 module for target x86/geode.

Fixes: 77cfe8f ("x86: make i915 as a kmod with required firmware")
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16977
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoipq807x: delete unused legacy eMMC sysupgrade code
Rodrigo Balerdi [Fri, 8 Nov 2024 20:40:29 +0000 (17:40 -0300)]
ipq807x: delete unused legacy eMMC sysupgrade code

All ipq807x devices that were using the legacy 'mmc_do_upgrade' eMMC
sysupgrade code were ported to the replacement 'emmc_do_upgrade' code.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16505
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoipq807x: order devices alphabetically
Rodrigo Balerdi [Fri, 8 Nov 2024 20:45:12 +0000 (17:45 -0300)]
ipq807x: order devices alphabetically

Alphabetically sort devices in platform.sh

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16505
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoipq807x: prpl haze & qnap 301w: use the standard eMMC sysupgrade code
Rodrigo Balerdi [Fri, 8 Nov 2024 20:40:03 +0000 (17:40 -0300)]
ipq807x: prpl haze & qnap 301w: use the standard eMMC sysupgrade code

Note that the old ad-hoc method did not explicitly align backup data
to 64 KiB boundaries.

Also note that the qnap 301w has a 'rootfs_data' partition in the eMMC
that is being ignored by fstools during boot, presumably due to a bug.
This is why the partition is also ignored in the sysupgrade code and
there is no definition of CI_DATAPART="rootfs_data".

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16505
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoipq807x: nbg7815: use the standard eMMC sysupgrade code
Rodrigo Balerdi [Tue, 24 Sep 2024 20:43:49 +0000 (17:43 -0300)]
ipq807x: nbg7815: use the standard eMMC sysupgrade code

Note that the old ad-hoc method did not explicitly align backup data
to 64 KiB boundaries.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16505
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoimage: apk: remove explicit distfeeds handling
Petr Štetiar [Sun, 17 Nov 2024 06:50:05 +0000 (06:50 +0000)]
image: apk: remove explicit distfeeds handling

Currently the build fails due to the following:

 mv: cannot stat 'linux-mediatek_filogic/target-dir-7872e783/etc/apk/repositories': No such file or directory

as the changes done in the commit e031dab93ec3 ("base-files: move apk
distfeeds into directory") forget to adapt image generation part.

While looking into this, I've realized, that we don't need this explicit
handling in the image generating code since the feeds are solely
configured by `base-files` and `apk` packages, so those should always
provide the correct feeds content, so lets simply drop this unnecessary
code.

Moving away /etc/opkg is done to prevent opkg from picking up the remote
feeds defined from base-files and only use the local feeds, but for apk
we explicitly pass --repositories-file which disables parsing of
/etc/apk/repositories and /etc/apk/repositories.d, so we do not need to
backup anything.

Fixes: #16981
Fixes: e031dab93ec3 ("base-files: move apk distfeeds into directory")
Reported-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[jonas.gorski: add an explicit explanation where the original mv comes
from and why we don't need it for apk].
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
10 days agoelfutils: Backport some patches to fix errors
Ryan Keane [Fri, 8 Nov 2024 06:36:23 +0000 (22:36 -0800)]
elfutils: Backport some patches to fix errors

On aarch64 musl gcc 14.x compiler, trying compiling elfutils 0.192 with
lto option enabled will cause null-dereference error.
Example error message:

...
elf_compress.c: In function 'elf_compress':
elf_compress.c:675:26: error: potential null pointer dereference [-Werror=null-dereference]
  675 |           shdr->sh_flags |= SHF_COMPRESSED;
      |                          ^
elf_compress_gnu.c: In function 'elf_compress_gnu':
elf_compress_gnu.c:127:25: error: potential null pointer dereference [-Werror=null-dereference]
  127 |           shdr->sh_size = new_size;
      |                         ^                      ^
...

This is a false postive warning but will abort compilation if gcc has
`-Werror` flag. This commit add a patch for this, see the bugzilla
report below.

This commit backports a series of patches to fix some errors.

Add patch:
- 007-add-libeu-symbols-to-libelf.patch
- 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch
- 009-fix-null-dereference-with-lto.patch

Link: https://sourceware.org/bugzilla/show_bug.cgi?id=32311
Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16886
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoelfutils: Add mirrors.kernel.org as mirrror
Ryan Keane [Wed, 13 Nov 2024 19:46:38 +0000 (11:46 -0800)]
elfutils: Add mirrors.kernel.org as mirrror

Add mirrors.kernel.org as mirror, listed on sourceware mirror sites
page.

Link: https://sourceware.org/mirrors.html
Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16886
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoelfutils: Update to 0.192
Ryan Keane [Fri, 8 Nov 2024 05:50:58 +0000 (21:50 -0800)]
elfutils: Update to 0.192

Add a patch still under review to fix some errors.

Refresh patch:
- 003-libintl-compatibility.patch
- 005-build_only_libs.patch
- 006-Fix-build-on-aarch64-musl.patch

Add patch:
- 102-fix-potential-deref-of-null-error.patch

Release notes are in the link below.

Link: https://inbox.sourceware.org/elfutils-devel/CAJDtP-T3+gXqHWp3T0mejWWbPr0_1tHetEXwfB67-o+zz7ShiA@mail.gmail.com/T/#u
Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16886
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agorealtek: align kernel config with upstream
Markus Stockhausen [Fri, 15 Nov 2024 06:32:47 +0000 (01:32 -0500)]
realtek: align kernel config with upstream

Since the start of the Realtek target OpenWrt works with RTL83XX as the
target architecture. Upstream is using MACH_REALTEK_RTL instead. To
simplify further development align that.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16963
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
11 days agoapk: add a customfeeds.list configuration file
Jonas Gorski [Wed, 13 Nov 2024 13:27:16 +0000 (14:27 +0100)]
apk: add a customfeeds.list configuration file

Analog to how we handle custom feeds in opkg, add a customfeeds.list for
custom package feeds and mark it as a configuration file.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16940
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
11 days agobase-files: move apk distfeeds into directory
Jonas Gorski [Wed, 13 Nov 2024 13:25:26 +0000 (14:25 +0100)]
base-files: move apk distfeeds into directory

Analog to how we handle distfeeds with opkg, have the base feeds defined
in a file in repositories.d instead of the base /etc/apk/repositories.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16940
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
11 days agoapk: remove HOST_LDFLAGS hack
Rosen Penev [Wed, 13 Nov 2024 20:33:12 +0000 (12:33 -0800)]
apk: remove HOST_LDFLAGS hack

No longer needed as upstream respects -Ddefault_library now.

Refreshed patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16945
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
11 days agolibreadlne: create symlinks for .so
Jeronimo Pellegrini [Sat, 21 Sep 2024 18:46:36 +0000 (15:46 -0300)]
libreadlne: create symlinks for .so

Currently, libreadline only installs

```
 /usr/lib/libhistory.so.8 -> libhistory.so.8.2
 /usr/lib/libhistory.so.8.2
 /usr/lib/libreadline.so.8 -> libreadline.so.8.2
 /usr/lib/libreadline.so.8.2
```

But there is no `libreadline.so` or `libhistory.so` available.

So this happens:

```
root@OpenWRT:~# cat a.c
int main() {
}
root@OpenWRT:~# gcc a.c -lreadline
/usr/bin/ld: cannot find -lreadline: No such file or directory
collect2: error: ld returned 1 exit status
```

Unless, of course, one uses `-l:libreadline.so.8`... But that
doesn't help with binaries that try to dynamically open

`libreadline.so`. I have one of those here (the STklos Scheme
compiler -- I didn't make a PR for it because it's far from
being ready, but one issue is that it does use dlopen to use
readline...)

With the symlink, it works:

```
root@OpenWRT:~# ln -s /usr/lib/libreadline.so.8 /usr/lib/libreadline.so
root@OpenWRT:~#
root@OpenWRT:~# gcc a.c -lreadline
root@OpenWRT:~#
```

Another example: when trying to package rlwrap, the build failed
complaining it could not find readline (using `-lreadline`).
It would then be necessary to change rlwrap's `configure.ac`
(and also in all packages that use readline), but it seems
simpler to add the symlinks...

This PR changes the Makefile so it will include the links.

Signed-off-by: Jeronimo Pellegrini <j_p@aleph0.info>
Link: https://github.com/openwrt/openwrt/pull/16445
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
11 days agox86: switch config to a tickless kernel
John Audia [Mon, 2 Sep 2024 23:53:47 +0000 (19:53 -0400)]
x86: switch config to a tickless kernel

This commit fixes and closes #16313.

Switch the x86 kernel's timer to tickless operation which is
more power efficient since it is not woken up by periodic timer
interrupts when idle.  Also add several other options for CPU
idle governors particularly the upstream default for tickless
kernels, CONFIG_CPU_IDLE_GOV_MENU. Without this commit, my AMD
Ryzen 7 5800U can only achieve a minimum core frequency of 1,384
MHz which is over 3x higher than the processor's minimum
frequency of 400 MHz which is accessible with this modification.
In addition to the lower clock rate, I have seen a concomitant
reduction in both idle temps and at-the-wall power consumption.

Summary:
* Idle CPU freqs dropped from 1,384 MHz to 400 Mhz.
* Idle power consumption dropped from 7 W avg to 5 W.
* Idle temps have dropped from 50C on avg to 43C.

There are other well known reasons to switch to a tickless
timer including: reduced interrupt overhead, better use of CPU
resources, and reduced latency to name a few.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16317
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>